#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
数据库配置文件
包含数据库连接信息和配置参数
"""

import os
from typing import Dict, Any

# 数据库连接配置
DATABASE_CONFIG = {
    'host': os.getenv('DB_HOST', 'localhost'),
    'port': int(os.getenv('DB_PORT', 3306)),
    'user': os.getenv('DB_USER', 'root'),
    'password': os.getenv('DB_PASSWORD', '123456'),
    'database': os.getenv('DB_NAME', 'vxbattle'),
    'charset': 'utf8mb4',
    'autocommit': True,
    'connection_timeout': 10
}

# 连接池配置
CONNECTION_POOL_CONFIG = {
    'pool_name': 'vxbattle_pool',
    'pool_size': 10,
    'pool_reset_session': True
}

# 游戏配置
GAME_CONFIG = {
    'max_idle_hours': 4,  # 最大挂机时长
    'base_exp_per_hour': 100,  # 基础每小时经验
    'level_exp_multiplier': 1.5,  # 等级经验倍率
    'max_characters_per_account': 10,  # 每账号最大角色数
    'battle_timeout_minutes': 30  # 战斗超时时间
}

def get_database_url() -> str:
    """
    获取数据库连接URL
    """
    config = DATABASE_CONFIG
    return f"mysql+pymysql://{config['user']}:{config['password']}@{config['host']}:{config['port']}/{config['database']}?charset={config['charset']}"

def get_connection_string() -> str:
    """
    获取数据库连接字符串（用于mysql-connector-python）
    """
    config = DATABASE_CONFIG
    return f"mysql://{config['user']}:{config['password']}@{config['host']}:{config['port']}/{config['database']}"